約 3,331,652 件
https://w.atwiki.jp/pupilstudio/pages/17.html
※利用上の注意※ このページにあるmidiは作曲者に著作権があります。作曲者から特別な説明がない限り、個人で聴く範囲でしか使用できません。 以下、禁止事項の一例を挙げます(これだけが禁止事項というわけではありません)。 midiファイルの無断転載(二次配布)、無断商法利用。 「素材」としてホームページやゲームなどのBGMとして使用。 作曲者と偽って第三者に発表。 1.はじめに このページにあるmidiファイルは、おもに作曲のレベルアップを図るために教え子有志により提供されたものです。また、「菩薩P教え子コラボ」を活性化に繋がれば幸いです。 2.midiのファイル名 各midiの作曲者を明確にするために以下のような記述でmidiファイル名を変更して下さい。 作曲者名_使用音源(推奨音源)_曲名.mid 例えば、執筆者がmidiファイルをアップロードした場合、以下の通りになります。 例:eichi_MSGS(GS)_感性1.mid なお、ウィルス対策としてzip等の圧縮ファイルのアップロードを禁止とさせていただきます。圧縮ファイルは見つけ次第削除します。midiファイルを直接アップロードして下さい。 3.midiファイルのアップロード ツールバー「編集」→「このページにファイルをアップロード」からmidiのアップロードを行って下さい。 4.初めてアップロードする場合 まず、ツールバー「編集」→「このページを編集」を選択します。そうすると、このページを編集することができます。名前を追加する時は、 ***作曲者名 と記述して下さい。 5.midiのリンクをページに貼る まず、ページ下の添付ファイルリストから自分のmidiファイルを右クリックします。するとPicture1のようなメニューが出ますので、「リンクのURLをコピー」を選択して下さい。 Picture1 ページを編集する際は次のような書き方になります。 -[[ファイル名 コピーしたURL]] あとはアップロードしたmidiの取り扱いについて説明文を加えて下さい。特になければ「個人で聴くこと以外の使用は禁止」と記述して下さい。 ◆midiアップロード者◆ あ行 か行 さ行 た行たけもと な行 は行 ま行 や行 ら行 わ行 A B C D Eeichi F G H I J K L M Nnon O P Q R S T U V W X Y Z その他 (2010/07/04執筆) あ行 か行 さ行 た行 たけもと 個人で楽しむ範囲での使用は自由です。SONARで作ったものなので、GM2音源情報などは入っておりません。 たけもと_第一回菩薩組音楽祭.mid な行 は行 ま行 や行 ら行 わ行 A B C D E eichi 「作者名」に「eichi」のあるmidiファイルは、自由にアレンジをすることができます。ただし、第三者(ここで言う第三者とは、作曲者・編曲者以外の者を示す)に公開する場合、必ず「作曲者:eichi」と明記して下さい。事前・事後報告は必要ありません。 再生されない場合は、チャンネル1の「GS Reset」もしくは「XG システムオン」を削除して下さい。 上から旧→新の順に並べています。 eichi_MSGS(GS)_ バイエルっぽい曲.mid eichi_MSGS(GS)_ ピクニック.mid eichi_MSGS(GS)_ 旅路.mid eichi_MSGS(GS)_ 初心者のためのバイエル曲.mid eichi_MSGS(GS)_ 人魚姫.mid eichi_MSGS(GS)_ ありがとう!.mid eichi_S-YXG50(XG)_かさ地蔵.mid eichi_S-YXG50(XG)_ある街角の物語.mid eichi_S-YXG50(XG)_あの日の思い出.mid eichi_S-YXG50(XG)_sacrifice.mid eichi_S-YXG50(XG)_last_summer.mid eichi_S-YXG50(XG)_Machine's_Dance.mid eichi_S-YXG50(XG)_The_Windy_Skies.mid eichi_S-YXG50(XG)_Have_a_Breake!!.mid eichi_S-YXG50(XG)_夏の面影.mid eichi_S-YXG50(XG)_Last_Tears2.mid eichi_S-YXG50(XG)_Swimming_Sky.mid eichi_S-YXG50(XG)_Bright.mid eichi_S-YXG50(XG)_Label.mid eichi_S-YXG50(XG)_Color_Full(第1回菩薩組音楽祭).mid eichi_S-YXG50(XG)_Flow_at_Time.mid eichi_MSGS(GS)_ホットゾーン.mid eichi_MSGS(GS)_ルート225.mid eichi_S-YXG50(XG)_ロールシャッハ(第2回BPO祭).mid F G H I J K L M N non ゲームBGMを意識して作曲したものです。基本的に自由に使ってOK♪ non_MSGS(GS)_town.mid non_MSGS(GS)_ethnic.mid O P Q R S T U V W X Y Z その他
https://w.atwiki.jp/src-today/pages/160.html
2008/11/25 『敷島MIDIパック』08年11月更新 25日、敷島MIDIパックが更新される。収録内容は以下の通り。 【新規MIDI】 高橋恵二氏 勇者特急マイトガイン OVERMANキングゲイナー 機動戦士Vガンダムなど ネオ・ぐらっちぇ氏 ウルトラマンネクサス 【敷島氏】【敷島MIDIパック】 【文責 プラチナ木魚】
https://w.atwiki.jp/nicoratch/pages/1131.html
概要 3Band EQとオーディオインターフェイスを搭載した2chDJコントローラー。Virtual DJ LE同梱。 スペック表 Rec, Master and Booth RCA outputs* Balanced XLR output 1/4J, and 1/8" (3.5mm) headphone out with volume control XLR and 1/4" mic input with mic volume control Unit dimensions 360*260*70mm (W*D*H)* Unit weight 2.0kgs MIDI 4 http //www.wjtch.com/content/?42.html
https://w.atwiki.jp/marowiki/pages/564.html
目次 【時事】ニュースMidi Musical Instrument Digital Interface 電子楽器デジタルインタフェース RSSMidi Musical Instrument Digital Interface 電子楽器デジタルインタフェース 口コミMidi Musical Instrument Digital Interface 電子楽器デジタルインタフェース 【参考】ブックマーク 関連項目 タグ 【時事】 ニュース Midi AKAI Professional、人気のUSB-MIDIキーボードコントローラーのグレーモデル「MPK mini Special Edition Grey」(BARKS) - Yahoo!ニュース - Yahoo!ニュース 連帯から生まれる新たなロックバンドのムーブメント black midi、BCNR……拡大続けるサウスロンドン・シーン中心に考察 - リアルサウンド MIDIキーボードを置いてるだけで、音楽作るモチベーションが高まるよね【Amazonブラックフライデー】 - GIZMODO JAPAN Studiologic、17鍵MIDI足鍵盤「MP-117」発売(BARKS) - Yahoo!ニュース - Yahoo!ニュース Raspberry Pi Picoを使ったMIDIキーボード自作キット「chromatoneminipico」、複雑なLED制御も可能 - AKIBA PC Hotline! フックアップ、星CMEのワイヤレスMIDIアダプターの複数セットを発売 - マイナビニュース Musicom LAB、プロ仕様をさらに極めたループ・スイッチャー&MIDIコントローラー「EFX MK-VI」(BARKS) - Yahoo!ニュース - Yahoo!ニュース 5000円のMIDIキーボードが楽しい!どこでも気軽に演奏できる(女子SPA!) - Yahoo!ニュース - Yahoo!ニュース MSX向けのMIDIインターフェイスカード自作キット「SCSG-MIF2」、カートリッジスロットに装着 - AKIBA PC Hotline! HOTONE、BluetoothとUSB接続に対応したコンパクトで堅牢なMIDIコントローラー「AMPERO CONTROL」(BARKS) - Yahoo!ニュース - Yahoo!ニュース MIDIケーブル ローランドが発売 エフェクター接続|あなたの静岡新聞 - @S[アットエス] by 静岡新聞 「iPhone 13 Pro」のオーディオ性能やMIDI互換性を検証する - AV Watch Akai Professional、MPC2ソフトウェアとの組み合わせでMPCワークフローを実現する第二世代モデル「MPC Studio」(BARKS) - Yahoo!ニュース - Yahoo!ニュース BOSSブランドより、3.5mmステレオミニプラグを採用したMIDIケーブル - マイナビニュース 70年代の記憶が蘇る Strymonから多彩なサウンドメイクが楽しめるマルチディメンショナル・フェイザー「Zelzah」(BARKS) - Yahoo!ニュース - Yahoo!ニュース ソニーCSL、“自分っぽいメロディー”を生成できる無料のAI作曲支援アプリ「Flow Machines Mobile」(PHILE WEB) - Yahoo!ニュース - Yahoo!ニュース BLACK MIDI、ジャパン・ツアーが延期に - Skream! Dos Monosが崎山蒼志やブラック・ミディ(black midi)ら参加の『Dos Siki 2nd Season』を発表、9月に自主企画Theater Dの開催も - Mikiki 世界初のワイヤレス対応MIDIエクスプレッション・ペダルを発売 ~さまざまなMIDI機器を足元のペダルでコントロール。豊かな演奏表現を可能に~ - アットプレス(プレスリリース) 脳のニューロンが音楽を作る? 神経の信号をMIDIに変換すると心地よいメロディーに - リアルサウンド 【Amazonプライムデー】いいとこ取りのMIDIキーボード「KeyStep Pro」が、僕の知る限り最安値だ! - GIZMODO JAPAN 【Amazonプライムデー最終日!】25鍵MIDIキーボードが3,000円台、骨伝導ワイヤレスヘッドホンが30%オフとお買い得 - GIZMODO JAPAN 【江戸川区】居心地の良いカフェ『CAFE&BAR MiDI』(カフェ&バー ミディ)のコレが美味しい! - 号外NET 江戸川区 ブラック・ミディ(black midi)を聴くと〈もっとやっていい〉と思える。Dos Monos荘子it × 崎山蒼志 対談 - Mikiki black midi ──ブラック・ミディ続報です - ele-king.net interview with Black Midi ロンドンの新世代ロック・バンド、クラシックについて語る | ブラック・ミディ、インタヴュー - ele-king.net BLACK MIDI、2ndアルバム『Cavalcade』携え9月にジャパン・ツアー決定 - Skream! Black Midi - Cavalcade | ブラック・ミディ - ele-king.net いま話題のMIDIオルゴール「CANADEON PW40」。 シンセサイザー・プログラマーの第一人者・松武秀樹氏が提案する 新世代楽器の計り知れない可能性。専用アプリで演奏も - Stereo Sound ONLINE 【今週のマストチューン】black midi、Mustafa、NEHANN〜5月第5週〜 - Fashionsnap.com ブラック・ミディ(black midi)の新作を機に改めて考える新世代UKロックの熱い流れ - Mikiki 【Amazonタイムセール祭り】始めるなら今!USB MIDIキーボードが4,189円、ウクレレが2,439円とお買い得 - Lifehacker JAPAN black midiのニューアルバム『Cavalcade』より最新シングル“Chondromalacia Patella”が本日公開! - Qetic テキストに書いたコード進行を演奏・MIDIファイルとして出力できる「TexChord 2」 - 窓の杜 black midi ──UKロック最前線、ブラック・ミディ入魂のセカンドが登場 - ele-king.net black midi(ブラック・ミディ)|無尽蔵の音楽隊列が戦慄の速度で駆け抜ける!次世代のカリスマ衝撃のセカンド・アルバム - TOWER RECORDS ONLINE - TOWER RECORDS ONLINE ピアノの演奏動画から楽譜を自動作成 ディープラーニングで 京大が技術開発 - ITmedia XSONIC、MIDI/USB/リレー/Bluetoothでデバイスを自在にコントロールできるフットコントローラー「AIRSTEP」&「AIRSTEP Lite」 - BARKS スマートコントロール、オートマッピング機能搭載88鍵ハンマーアクション・USB MIDIコントローラーM-AUDIO HAMMER 88 PROをリリース - Dream News CME、手軽にワイヤレスMIDI環境を構築できるアダプター第2弾「WIDI Jack」、外部電源供給でより多くの機器に対応 - BARKS 分解してコンパクトに持ち運べる!サイレントギターとしても楽しめるMIDIギター「Jammy G」|@DIME アットダイム - @DIME 音を操る指輪だと…? 手の動きで音を変化させる指輪型Midiコントローラー「Neova」 - GIZMODO JAPAN Nektar、演奏性を重視した61鍵/49鍵セミウェイテッド鍵盤搭載のUSB MIDI コントローラー「Impact GXP61」「Impact GXP49」 - BARKS 空中で手を動かし音を変化させる 指輪型MIDIコントローラ - AV Watch 引出構造を採用したHTPCケース「MIDI Project S」がオリオスペックでセール - AKIBA PC Hotline! ボタンを押すだけでコードを演奏——MIDIコードコントローラー「Chordmonger」 - fabcross ボタン式クロマティックアコーディオンを模擬したMIDIキーボード自作キットが入荷 - AKIBA PC Hotline! ★新商品★「Jammy G」ギターの演奏技術だけであらゆる楽器の音を奏でられるMIDIギター【様々な音色に対応/サイレント/折り畳み/ポータブル/高感度センサー】 - PR TIMES 「TR-808」や「MIDI」の開発秘話を描いた書籍の発売が決定 | クラベリア - clubberia PC版『ノスタルジア Op.3』プレイレポ─MIDIキーボードで誰でもピアニスト気分! 『BEMANI』のダークホースはトップに躍り出るか - インサイド 2台のMIDI機器間のワイヤレス接続やiOS/Mac、BLE機器との接続をサポート、CMEからワイヤレスMIDIアダプター「WIDI Master」登場 - BARKS M-AUDIO KEYSTATIONシリーズ最新USB MIDI キーボードコントローラーKEYSTATION 88 MK3発売のご案内 - Dream News ジョイスティックを39本利用したMIDIコントローラ - PC Watch ローランド、MIDIを無線化。電子楽器とiPadをBluetooth接続 - AV Watch ローランド、PCやiOS機器と無線接続して音楽制作が行えるMIDIツール - マイナビニュース 電子楽器とパソコンやiPadを無線接続して音楽制作/演奏できるワイヤレスMIDIツールを発売 ~独自技術で音の遅れを感じない、安定した動作のワイヤレス接続。より快適で自由な音楽制作や演奏を実現~ - アットプレス(プレスリリース) Blackstar、コンパクトで柔軟な設定ができる6ボタンMIDIフットコントローラー「Live Logic USB MIDI Controller」 - BARKS MIDI 1.0 規格書(日本語翻訳版)が国立科学博物館の「重要科学技術史資料(愛称:未来技術遺産)」に登録 - PR TIMES 夏休みの自由研究 - MIDI 楽器を作ろう (プログラミングと音楽と) - 後編 - builders.flash - 変化を求めるデベロッパーを応援するウェブマガジン | AWS - amazon.com IK Multimedia、オーディオアウトを備えたコンパクトな25鍵MIDIキーボード「iRig Keys 2 Mini」 - BARKS 次世代型モバイルMIDIキーボード「iRig Keys 2 Mini」、IK Multimedia国内代理店フォーカルポイントから! - PR TIMES MIDI対応電子楽器同士をワイヤレスで接続する「mi.1 Cable」登場 - BARKS 電子楽器同士をワイヤレスMIDI接続する「mi.1 Cable」の先行販売開始 - Dream News 夏休みの自由研究 - MIDI 楽器を作ろう (プログラミングと音楽と) - 前編 - builders.flash - 変化を求めるデベロッパーを応援するウェブマガジン | AWS - amazon.com black midi(ブラック・ミディ)|新曲「Sweater」と隠しトラック「7-eleven」を収録した限定盤12”を発売 - TOWER RECORDS ONLINE - TOWER RECORDS ONLINE フランスJoueのクラウドファンディングMIDI電子楽器に廉価版が登場 - TechCrunch Japan X68000向けの新作MIDIボード「midiori v2.2」が入荷、税込10,780円 - AKIBA PC Hotline! 1台で12トラックMTR、USBオーディオ/MIDIインターフェース、DAWコントロールに対応したサウンドクリエイターのためのデスクトップツール『Model 12』を3月27日より新発売 - PR TIMES Bluetooth MIDIは本当に遅延が大きい? 測定して比べてみた - AV Watch MIDI 1.0がMIDI 2.0へ待望のアップデート。規格書が完成、公開へ - PR TIMES MIDI規格が「MIDI 2.0」に進化。双方向通信や繊細な表現が可能に - AV Watch 38年ぶりにバージョンアップした「MIDI 2.0」によって音楽制作はどう変わるのか? - GIGAZINE IK Multimediaの次世代型MIDIキーボード「iRig Keys 2 Pro」、「iRig Keys 2」を国内代理店フォーカルポイントが発売! - 日刊工業新聞 black midi(ブラック・ミディ)数量限定ロゴTシャツ&激レアのライブ盤CDセットがタワーレコード限定で12月13日に発売 - TOWER RECORDS ONLINE - TOWER RECORDS ONLINE 電子ドラムが熱い中国、斬新なMIDIキーボードも。巨大展示会Music Chinaを見た - AV Watch black midi初来日インタビュー|彼らが世界に衝撃を与えたその理由を紐解く - Qetic 本格&おもしろシンセ集結! 空き缶のMIDI楽器、クマ型リズムマシンがMaker Faireに - AV Watch WaveBlaster互換のMIDIドーターカードをUSB音源化するキットが入荷 - AKIBA PC Hotline! ブラック・ミディ(black midi)『Schlagenheim』に聴く、恐れ知らずのロック・サウンド - Mikiki ブラック・ミディ(black midi)『Schlagenheim』と日本文化の奇妙でイビツな親和性 - Mikiki interview with Black Midi 自分自身を解体するアート | ブラック・ミディ、インタヴュー - ele-king.net MIDI Provocateur ──〈トラフィック〉からスタイリッシュなダンス・プロジェクト、ミディ・プロヴォケイターがデビュー - ele-king.net iPad/iPhoneがオシロスコープやMIDIモニターに! 2つのアプリで音を簡単測定 - AV Watch 歌声が楽器になるMIDIコントローラー「Dubler Studio Kit」--声でリアルタイム制御 - CNET Japan MIDI、38年後バージョンアップの「なぜ」?:NAMM 2019 - ITmedia 次世代MIDI「MIDI 2.0」発表、互換性維持しながら演奏の表現力向上 - AV Watch MIDI 2.0、始動 今も使われる電子楽器規格が38年後のバージョンアップ - ITmedia 一般社団法人音楽電子事業協会(AMEI)とThe MIDI Manufacturers Association (MMA)が「MIDI 2.0」の開発・規格化および実装作業を進めていくことを発表。 - PR TIMES 【懐パーツ】DTMを築き上げたMIDI音源の銘機「ローランド SC-88VL」 - PC Watch 「MIDIのゴッドファーザー」と呼ばれた男と、彼が遺した「TR-808」というレガシー - WIRED.jp TR-808、JUPITER-8、DTM、MIDIを生んだ梯郁太郎氏が死去 - ITmedia 【プレイバック2016】Bluetoothで“ワイヤレス演奏”できる「BLE-MIDI」への期待と課題 by 藤本健 - AV Watch ステージ映えする不思議な形のMIDIコントローラ「Mune」 - CNET Japan 音楽電子事業協会、MIDI 1.0規格書を無償ダウンロード提供 - PC Watch 柔らかいパッドで音楽を作る新型MIDIコントローラ「CMG」--日本企業が開発 - CNET Japan 【藤本健のDigital Audio Laboratory】 第669回 Bluetooth MIDI伝送で何ができる? 対応5製品とiPad連携などを試す - AV Watch ヴィンテージ楽器から最新技術まで、MIDIの歴史と未来に触れるイベント「Think MIDI ~MIDIがつなぐ時代と音楽~」レポート - BARKS 【藤本健のDigital Audio Laboratory】 第653回 Android 6.0でオーディオ/DTM機能はどう変わった? ハイレゾやMIDI対応をチェック - AV Watch 「ようこそヴェルディくんの部屋へ 」 MIDI音が流れる“ホームページ”にファン驚き - ITmedia MIDIシーケンサーと仮想音源を接続できるようにする仮想MIDIポート「loopMIDI」NOT SUPPORTED - 窓の杜 Musical Instrument Digital Interface BOSS、ギター/ベース用エフェクターのMIDI接続に最適なケーブルを発売(BARKS) - Yahoo!ニュース - Yahoo!ニュース BOSS、ワイヤレス対応MIDIエクスプレッション・ペダルを発売 - BARKS 屋外での演奏に最適なバッテリー駆動アンプが新機能を備えてBOSSブランドで登場 - アットプレス(プレスリリース) 「Enhancia」の指輪型ウェアラブルMIDIコントローラーの輸入販売を開始 - アットプレス(プレスリリース) ローランド、PCやiOS機器と無線接続して音楽制作が行えるMIDIツール - マイナビニュース 電子楽器とパソコンやiPadを無線接続して音楽制作/演奏できるワイヤレスMIDIツールを発売 ~独自技術で音の遅れを感じない、安定した動作のワイヤレス接続。より快適で自由な音楽制作や演奏を実現~ - アットプレス(プレスリリース) MIDI 1.0 規格書(日本語翻訳版)が国立科学博物館の「重要科学技術史資料(愛称:未来技術遺産)」に登録 - PR TIMES MIDI 2.0、始動 今も使われる電子楽器規格が38年後のバージョンアップ - ITmedia 【懐パーツ】DTMを築き上げたMIDI音源の銘機「ローランド SC-88VL」 - PC Watch 「MIDIのゴッドファーザー」と呼ばれた男と、彼が遺した「TR-808」というレガシー - WIRED.jp 音楽電子事業協会、MIDI 1.0規格書を無償ダウンロード提供 - PC Watch 電子楽器デジタルインタフェース ヤマハ 電子ドラム『DTX10シリーズ』『DTX8シリーズ』 - PR TIMES パソコンやスマホ直結で手軽に宅録やDTMを楽しめる!オーディオインターフェースいらずでボーカルやギターの録音ができるUSBケーブル、マイクとシールドの2タイプを新発売 - PR TIMES ソニー、体の動きで電子楽器にエフェクトをかける「MOTION SONIC」クラファン開始 - マイナビニュース RSS Midi #gnews plugin Error gnewsは1ページに3つまでしか使えません。別ページでご利用ください。 Musical Instrument Digital Interface #gnews plugin Error gnewsは1ページに3つまでしか使えません。別ページでご利用ください。 電子楽器デジタルインタフェース #gnews plugin Error gnewsは1ページに3つまでしか使えません。別ページでご利用ください。 口コミ Midi #bf Musical Instrument Digital Interface #bf 電子楽器デジタルインタフェース #bf 【参考】 ブックマーク サイト名 関連度 備考 Wikipedia ★★ 関連項目 項目名 関連度 備考 研究/音楽 ★★★ 研究/シンセサイザー ★★★ 研究/電子楽器 ★★★ 研究/デジタル ★★★ 研究/創作 ★★★ タグ 創作 冒頭へ
https://w.atwiki.jp/src-today/pages/59.html
SRC-Today告知 2008/10/26 編集員募集 SRC-Todayでは編集員を募集しています。 主な編集内容は、各シナリオの紹介ページ作成、またはコラム連載です。 元々、編集はどなたが行っても構わないのですが、現在の体制では手に余る分量となりつつありますので、手伝って下さる方を探しております。 お手伝い下さる方は連絡なしでもありでも構いませんので、よろしくお願いします。
https://w.atwiki.jp/dtmer/pages/49.html
MIDIを再生するためのソフトウェアやハードウェアの機構のこと。 WindowsのMicrosoft GS Wavetable SW Synthなどのソフトシンセがこれにあてはまる。 Windowsでは既定のデバイスを設定することにより出力先を切り替えている。 XPまでのWindowsは再生するプレイヤー側はMIDIポートマッパーを通して 既定のデバイスに送られている。 尚、Windowsでは最大で10個のデバイスまで管理できる。 それ以上のデバイスをインストールしても追加されないので注意が必要である。 関連サイト YAMAHA:Windows環境でMIDIポート設定にドライバー名称が表示されない。 http //faq.yamaha.com/jp/ja/article/accessories/usb-midi/ux16/5707/4268/ Roland http //www.roland.co.jp/support/article/index.cfm?q=faq&p=FANTOM-XR&id=1826062 KORG USB-MIDI Driver for Windows http //www.korg.co.jp/Support/Download/Software/USB-MIDI/win.html Microsoft:Windows NTマルチ メディア ドライバーのレジストリの場所 http //support.microsoft.com/kb/126054/ja
https://w.atwiki.jp/vst_prog/pages/75.html
トップページ MIDIメッセージを処理するVSTについて ここでは最小構成のVSTで作成したVSTを基にMIDIメッセージにあわせて動作するVSTを作成する。 作成するVSTはロードされると常にノイズを発生させる(音量注意)。このノイズのボリュームをMIDI CC7でコントロールできるVSTを作成する。 最小構成のVSTのソースコード全体はここにある。 MIDIメッセージを処理するに当たって最小構成のVSTに以下の追加を行う。 受け取ったMIDIメッセージを確保するための変数の追加 ホストアプリケーション(Cubase,Sonar等)からのMIDIメッセージを上記変数に保存するprocessEvents()関数の追加 processReplacing()関数内に受け取ったMIDIメッセージを処理するコードの追加 なお、ここに記載している内容についてはMIDIメッセージについてある程度の知識があることを前提としている。 また、ここで作成するVSTサンプルのソースコード全体はここにある。 MIDIメッセージ用の構造体の定義 まず始めにMIDIメッセージ用の構造体を定義する。 MIDIメッセージ用の構造体ではMIDIメッセージ・チャンネル番号・MIDIデータ1・MIDIデータ2に加え、MIDIメッセージの処理タイミングを示すVstInt32型の変数を定義するとよい。 (MIDIメッセージの処理タイミングを示すVstInt32型の変数の詳細は後述。) 具体的には以下のようになる。 struct MidiMessage{VstInt32 deltaFrames; //MIDIメッセージを処理するタイミングunsigned char message; //MIDIメッセージ番号unsigned char channel; //MIDIチャンネルunsigned char data1; //MIDIデータ1unsigned char data2; //MIDIデータ2}; VSTのクラス定義 続いてVSTの基本となるクラスを作成する。 最小構成のVSTに、先ほど定義したMidiMessage型のバッファとホストアプリケーションからMIDIメッセージを受け取るためのprocessEvents()関数を追加で定義する。 具体的には以下のようになる。 #define MIDIMSG_MAXNUM 255 class MyMidiSampleVST public AudioEffectX{protected int midimsgnum; //受け取ったMIDIメッセージの数MidiMessage midimsgbuf[MIDIMSG_MAXNUM]; //受け取ったMIDIメッセージを保管するバッファ // ノイズのボリュームfloat volume;public MyMidiSampleVST (audioMasterCallback audioMaster); // 音声信号を処理するメンバー関数virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); // MIDIメッセージをホストアプリケーションから受け取るためのメンバー関数VstInt32 processEvents (VstEvents* events);}; 次へ 同一カテゴリのTips 項目 No. 概要 MIDIメッセージ処理 No.1 MIDIメッセージ処理で最小構成の自作VSTに追加する変数・関数 No.2 VSTの初期化とMIDIメッセージ処理関連の変数の初期化 No.3 ホストアプリケーションからMIDIメッセージを受け取る方法 No.4 MIDIメッセージをprocessReplacing()関数中で処理する方法 No.5 MIDIメッセージ処理で作成したVSTのサンプルソースコード全体(暫定版)
https://w.atwiki.jp/puyokei/pages/835.html
ty制作の行き場のないMIDIを置いておく場所です。 PC閲覧者は下のほうへスクロールし、「添付ファイル一覧」から再生したいファイルをクリックして下さい。 ダウンロードは構いませんが、再配布は自己責任でよろしく。 制作者の想定している音源は「YAMAHA AC-XG WDM XG Synth」です。 それ以外の音源の場合、想定しないアレンジがなされる場合があります。 指定した音源で試聴すると原曲に近くなります。 「Dolls」 tyが作曲したMIDI。RPG用の曲。 特にこれといった特徴のない曲なのです。 主旋律はコードから連想して作ったのでかなり適当。 歌詞は募集してなくもない。 「K」(BUMP OF CHICKEN) まだMIDIをさわり始めたくらいの頃に制作したもの。 音楽会用に楽譜を買ったのだが、曲の変更により楽譜の存在意義がなくなったため制作。 最初に完成したときより何十回という修正が加えられて現在に至る。結構手間がかかってる。 ここに上げたバージョンは実は一つのパートを消去したものであり、そのパートはニコニコ動画に上がっている「MIDIアニメ」で見ることができる。 「Sticker of Puyopuyo」(ぷよぷよ) 初代ぷよぷよ、ぞう大魔王~ルルー戦で流れる曲。SEGAアレンジ版は「Request from Puyopuyo」。 SFCの音を再現するのを諦めてJ-POP調に音色を大幅アレンジした曲。 結構前に作っていたものの、音量調節を怠っていたため掲載が遅れた。1ループで終わっていたのも理由の一つ。 今回掲載にあたって放っておいた音量を調節し直し、4ループにしてみた。 「クラウンカジノ」(スーパーマリオRPG) 正式曲名は『ちょっとドキドキ』らしい。呼びやすいからファイル名はこれ。 RPGと銘打ってるにも関わらず参考にしたのはNewスーパーマリオブラザーズ(DS)のミニゲーム。 この曲はマリオシリーズでも結構多く出てるとか出てないとか。初出はマリオ3だし。 「プレリュード零式」(ファイナルファンタジーシリーズ) ファイナルファンタジーでおなじみの曲。 ストリングスのパートはFF4のメロディーを基準に多少アレンジ。 象徴とも言えるアルペジオは16分ディレイを無駄に3回もかけてみた。 ちなみにタイトルの「零式」はこれの前にディレイが1つだけの「プレリュード改」、 ストリングス修正前の「プレリュード」があり、FF7のバハムートにあやかって「零式」と付けた。要は「3」。 「下水道」(ロマンシング サ・ガ) 通称「世界一カッコイイ下水道」。元々はフィールドマップ用のBGMだったらしい。 ちなみにこのゲームはバグが異常に多いことで有名。 後ろのピコピコが…すんごい多くて疲れた… ちなみに主旋律は原曲ではサックスだがMIDIではトランペット。 「決戦」(ファイナルファンタジーVI) FF6の中ボス戦で流れる曲。いくら何でも中ボスにしては格好良すぎるだろう。 オルガンの音が一台だと聞こえづらいので二台用意して同時発音することで音量調節。 ちなみにこの手法は他の曲でも結構やってたりする。
https://w.atwiki.jp/vst_prog/pages/74.html
トップページ MIDIメッセージ処理 MIDIメッセージにあわせて動作するVSTのサンプルである。 下記VSTはSynthとしてロードされ、常にノイズを発生させる。実行時は音量に注意してほしい。 ノイズのボリュームをMIDI CC7でコントロールできる。 サンプルコード全体 ソースコードのダウンロード→ここをクリック // ============================================================================================// インクルードファイル// ============================================================================================#include stdlib.h #include string.h #include "audioeffectx.h" // ============================================================================================// 設計情報の記入// ============================================================================================#define MY_VST_INPUT_NUM 2 //入力数。モノラル入力=1、ステレオ入力=2#define MY_VST_OUTPUT_NUM 2 //出力数。モノラル出力=1、ステレオ出力=2 #define MY_VST_UNIQUE_ID SMPL //ユニークID //公開する場合は以下URLで発行されたユニークIDを入力する。 //http //ygrabit.steinberg.de/~ygrabit/public_html/index.html #define MY_VST_PRESET_NUM 1 //プリセットプログラムの数#define MY_VST_PARAMETER_NUM 0 //パラメータの数 // ============================================================================================// MIDI処理用の定義// ============================================================================================#define MIDIMSG_MAXNUM 255 struct MidiMessage{VstInt32 deltaFrames; //MIDIメッセージを処理するタイミングunsigned char message; //MIDIメッセージ番号unsigned char channel; //MIDIチャンネルunsigned char data1; //MIDIデータ1unsigned char data2; //MIDIデータ2}; // ============================================================================================// VSTの基本となるクラス// ============================================================================================class MyMidiSampleVST public AudioEffectX{protected int midimsgnum; //受け取ったMIDIメッセージの数MidiMessage midimsgbuf[MIDIMSG_MAXNUM]; //受け取ったMIDIメッセージを保管するバッファ // ノイズのボリュームfloat volume;public MyMidiSampleVST (audioMasterCallback audioMaster); // 音声信号を処理するメンバー関数virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); // MIDIメッセージをホストアプリケーションから受け取るためのメンバー関数VstInt32 processEvents (VstEvents* events);}; // ============================================================================================// このVSTのを生成するための関数// ============================================================================================AudioEffect* createEffectInstance (audioMasterCallback audioMaster){//newでこのVSTを生成したポインタを返すreturn new MyMidiSampleVST (audioMaster);} MyMidiSampleVST MyMidiSampleVST (audioMasterCallback audioMaster) AudioEffectX (audioMaster, MY_VST_PRESET_NUM, MY_VST_PARAMETER_NUM){//VSTの初期化を行う。 //以下の関数を呼び出して入力数、出力数等の情報を設定する。//必ず呼び出さなければならない。setNumInputs (MY_VST_INPUT_NUM); //入力数の設定setNumOutputs (MY_VST_OUTPUT_NUM); //出力数の設定setUniqueID (MY_VST_UNIQUE_ID); //ユニークIDの設定 isSynth (true); //このVSTがSynthかどうかのフラグを設定。 //Synthの場合…true、Effectorの場合…false canProcessReplacing (); //このVSTが音声処理可能かどうかのフラグを設定。 //音声処理を行わないVSTはないので必ずこの関数を呼び出す。 //上記の関数を呼び出した後に初期化を行うmidimsgnum = 0;memset(midimsgbuf, 0, sizeof(MidiMessage) * MIDIMSG_MAXNUM); volume = 1.0f;} void MyMidiSampleVST processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames){//入力、出力は2次元配列で渡される。//入力は-1.0f~1.0fの間で渡される。//出力は-1.0f~1.0fの間で書き込む必要がある。//sampleFramesが処理するバッファのサイズfloat* outL = outputs[0]; //出力 左用float* outR = outputs[1]; //出力 右用 // midieventlistの読み込み位置int midimsg_cursol = 0; for (int i = 0; i sampleFrames; i++){//ここで音声処理を行う。 // MIDIメッセージがあるか確認if ( midimsgnum 0){// MIDIメッセージを処理するタイミングかどうかを確認する。if( midimsgbuf[midimsg_cursol].deltaFrames = i){// MIDIメッセージがコントロールチェンジのボリューム変更(CC7)であった場合if( midimsgbuf[midimsg_cursol].message == 0xB0 midimsgbuf[midimsg_cursol].data1 == 7){volume = (float)( midimsgbuf[midimsg_cursol].data2) / 127.0f;} // midimsgbufからMIDIメッセージを読み出したので// 読み込み位置を進め、MIDIメッセージの数を減らすmidimsgnum--;midimsg_cursol++;}} //出力バッファへ書き込む。outL[i] = volume * (float)((rand() % 256) -128) / 255.0f;outR[i] = volume * (float)((rand() % 256) -128) / 255.0f;}} // MIDIメッセージを処理するメンバー関数// processReplacing()の前に必ず1度だけ呼び出される。// VstInt32 MyMidiSampleVST processEvents (VstEvents* events){// MIDIのリストを初期化します。midimsgnum = 0;memset(midimsgbuf, 0, sizeof(MidiMessage) * MIDIMSG_MAXNUM); // VSTイベントの回数だけループをまわす。int loops = (events- numEvents);for (int i = 0;i loops; i++){// 与えられたイベントがMIDIならばmidimsgbufにストックするif ((events- events[i])- type == kVstMidiType){VstMidiEvent *midievent = (VstMidiEvent*)(events- events[i]); midimsgbuf[midimsgnum].deltaFrames = midievent- deltaFrames;midimsgbuf[midimsgnum].message = midievent- midiData[0] 0xF0; // MIDIメッセージmidimsgbuf[midimsgnum].channel = midievent- midiData[0] 0x0F; // MIDIチャンネルmidimsgbuf[midimsgnum].data1 = midievent- midiData[1]; // MIDIデータ1midimsgbuf[midimsgnum].data2 = midievent- midiData[2]; // MIDIデータ2midimsgnum++; // MIDIメッセージのバッファがいっぱいの場合はループを打ち切る。if (i = MIDIMSG_MAXNUM){break;}}} // 1を返しておくreturn 1;} VST Tipsトップページへ 同一カテゴリのTips 項目 No. 概要 MIDIメッセージ処理 No.1 MIDIメッセージ処理で最小構成の自作VSTに追加する変数・関数 No.2 VSTの初期化とMIDIメッセージ処理関連の変数の初期化 No.3 ホストアプリケーションからMIDIメッセージを受け取る方法 No.4 MIDIメッセージをprocessReplacing()関数中で処理する方法 No.5 MIDIメッセージ処理で作成したVSTのサンプルソースコード全体(暫定版)
https://w.atwiki.jp/vst_prog/pages/80.html
トップページ MIDIメッセージを処理するVSTについて2 MIDIメッセージ処理 No1~No5で作成したVSTのMIDI処理については、どんなVSTでもほぼ共通の処理となる。 コードを再利用しやすいように、ここではシステムエクスクルーシブを除くMIDIメッセージに関する処理をクラスとしてひとまとめにする。 MIDIメッセージを処理するクラスは自作VSTクラスで下記のように継承できるように作成する。 class MyMidiSampleVST2 public AudioEffectX , public CMidiMsg // CMidiMsgが今回作成するクラス{: // 以下省略:}; ここで作成するVSTサンプルのソースコード全体はここにある。 MIDIメッセージ処理用クラス定義 MIDIメッセージ処理用クラスは以下のように定義する。(全体は長いので一部省略している。全体はここにある。) class CMidiMsg{protected int cur; //読み込み中のMIDIの位置int num; //受け取ったMIDIメッセージの数MidiMessage buf[MIDIMSG_MAXNUM]; //受け取ったMIDIメッセージを保管するバッファpublic CMidiMsg(void);~CMidiMsg(void); // バッファのクリア等を行う。virtual void clearMidiMsg(); // MIDIメッセージをバッファに追加する// バッファへの追加が成功すると1、失敗すると0を返すvirtual int addMidiMsg(VstMidiEvent *midievent);virtual int addMidiMsg(MidiMessage msg); // バッファからMIDIメッセージを取り出すvirtual MidiMessage getMidiMsg(); // バッファ中にあるMIDIメッセージの数を返すvirtual VstInt32 getMidiMessageNum(); // バッファから最初に取り出せるMIDIメッセージのDeltaFramesを返すvirtual VstInt32 getNextDeltaFrames(); // MIDIメッセージが何かを判断し、そのメッセージに対応した// onMidiKeyOn()関数、onMidiControlChange()関数等を呼び出す。// 引数なしの場合、内部でgetMidiMsg()が使用されるので注意。virtual void midiProc(MidiMessage mididata);virtual void midiProc() { MidiMessage mididata = getMidiMsg(); midiProc(mididata); }; // midiProc()関数から呼び出される。// それぞれのMIDIメッセージに応じて処理を行う// 以下6つはオーバーライドして使うvirtual void onMidiKeyOn (unsigned char channel, unsigned char noteNo, unsigned char velo) {}; // 関数の中身は空virtual void onMidiKeyOff (unsigned char channel, unsigned char noteNo, unsigned char velo) {}; // 関数の中身は空: // 長いので省略:}; 解説 まず、MIDIメッセージのや書き込みのためのバッファと読み出し位置や書き込み位置の変数を定義している。 これらは他のクラスから読み込まれることはないのでprotectedで宣言している。 protected int cur; //読み込み中のMIDIの位置 int num; //受け取ったMIDIメッセージの数 MidiMessage buf[MIDIMSG_MAXNUM]; //受け取ったMIDIメッセージを保管するバッファ 次に以下2つの操作を行うための関数を定義している ホストアプリケーションからのMIDIメッセージの受け取る際に使用する関数(processEvents()関数内で呼び出される関数) メンバ関数 戻り値 引数 内容 clearMidiMsg() なし なし MIDIメッセージを受け取るMIDIバッファを初期化する関数。 addMidiMsg() int VstMidiEvent *midievent MIDIメッセージをMIDIバッファへの保存する関数。引数は受け取るMIDIメッセージ(VstMidiEvent型のポインタ)MIDIバッファへの追加に成功すると1、失敗すると0が返る。 受け取ったMIDIメッセージを処理する関数(processReplacing()関数内で呼び出される関数) メンバ関数 戻り値 引数 内容 getMidiMessageNum() VstInt32 なし MIDIメッセージ有無のチェックに利用する関数。戻り値はMIDIバッファにあるMIDIメッセージの数。 getNextDeltaFrames() VstInt32 なし processReplacing()関数内で次のMIDIメッセージを処理するタイミングを返す関数。戻り値は処理すべきフレーム(0~sampleFramesの範囲の値) getMidiMsg() MidiMessage MIDIバッファからのMIDIメッセージの取り出す関数。戻り値はMIDIメッセージ構造体 midiProc()関数 なし MidiMessage mididata 引数のMIDIメッセージに応じて処理を実施する。引数は処理するMIDIメッセージ midiProc()関数では各MIDIメッセージ(KeyOn、KeyOff、ControlChange等)を処理するメンバ関数を呼び出す。 これらの関数(onMidiKeyOn()関数、onMidiKeyOff()関数 等)についても、定義している。 midiProc()関数から呼び出されるメンバ関数 メンバ関数 戻り値 引数 内容 onMidiKeyOn() なし MIDIメッセージがKeyOnの際に呼び出される。 onMidiKeyOff() なし MIDIメッセージがKeyOffの際に呼び出される。 onMidiProgramChange() なし MIDIメッセージがプログラムチェンジの際に呼び出される。 onMidiPoliKeyPress() なし MIDIメッセージがポリフォニックキープレッシャーの際に呼び出される。 onMidiChannelPress() なし MIDIメッセージがチャンネルプレッシャーの際に呼び出される。 onMidiPitchBend() なし MIDIメッセージがピッチベンドチェンジの際に呼び出される。 onMidiSystemMessage() なし MIDIメッセージがシステムコモンメッセージ、システムリアルタイムメッセージの際に呼び出される。システムメッセージに応じてさらにonMidiQuarterFrame()関数、onMidiSongPointer()関数などが呼び出される onMidiControlChange() なし MIDIメッセージがコントロールチェンジの際に呼び出される。コントロールチェンジメッセージに応じてさらにonMidiCC000()~onMidiCC127()の関数が呼び出される。 次へ 同一カテゴリのTips 項目 No. 概要 MIDIメッセージ処理 No.1 MIDIメッセージ処理で最小構成の自作VSTに追加する変数・関数 No.2 VSTの初期化とMIDIメッセージ処理関連の変数の初期化 No.3 ホストアプリケーションからMIDIメッセージを受け取る方法 No.4 MIDIメッセージをprocessReplacing()関数中で処理する方法 No.5 MIDIメッセージ処理で作成したVSTのサンプルソースコード全体(暫定版)